<script setup lang="ts">
defineProps<{ msg: string }>();
/* 
  当开发者尝试对Pinia中的响应式数据进行解构赋值时，如果直接进行解构，被解构出来的数据将不具备响应式。
  这是因为解构赋值操作破坏了Vue的响应式系统，导致解构后的数据不再与原始数据保持响应式连接。
  为了从 Store 中提取属性同时保持其响应式，您需要使用storeToRefs()。 它将为任何响应式属性创建 refs。 
  详情请看：https://pinia.web3doc.top/core-concepts/#%E4%BD%BF%E7%94%A8-store
*/
const countStore = useCountStore();
const { increment } = countStore;
const { count } = storeToRefs(countStore);
console.log(countStore.count);
</script>

<template>
  <h1>{{ msg }}</h1>

  <div class="card">
    <button type="button" @click="increment">count is {{ count }}</button>
    <p>
      Edit
      <code>components/HelloWorld.vue</code> to test HMR
    </p>
  </div>

  <p>
    Check out
    <a href="https://vuejs.org/guide/quick-start.html#local" target="_blank"
      >create-vue</a
    >, the official Vue + Vite starter
  </p>
  <p>
    Learn more about IDE Support for Vue in the
    <a
      href="https://vuejs.org/guide/scaling-up/tooling.html#ide-support"
      target="_blank"
      >Vue Docs Scaling up Guide</a
    >.
  </p>
  <p class="read-the-docs">Click on the Vite and Vue logos to learn more</p>
</template>

<style lang="scss" scoped>
</style>
